package com.xyht.sca_s.student_manage_system.modules.examinePaymentEquipment.entity.resp;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 付款审批表（设备采购）
 * </p>
 *
 * @author XYHT
 * @since 2023-05-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sms_payment_examine_equipment_procurement")
@ApiModel(value="SmsPaymentExamineEquipmentProcurement对象", description="付款审批表（设备采购）")
public class SmsPaymentExamineEquipmentProcurementMpjResp implements Serializable {

    private static final long serialVersionUID = 1L;

    private String examineId;

    private String detailId;

    private SmsPaymentExamineUserResp applyUserInfo;

    @ApiModelProperty(value = "申请人id")
    private String paymentApplyUserId;

    @ApiModelProperty(value = "合同名")
    private String paymentContractName;

    @ApiModelProperty(value = "合同编号")
    private String paymentContractNum;

    @ApiModelProperty(value = "合同签署时间")
    private Date paymentContractSignTime;

    @ApiModelProperty(value = "合同金额 单位/元")
    private BigDecimal paymentContractMoney;

    @ApiModelProperty(value = "支付金额")
    private BigDecimal paymentPaidMoney;

    @ApiModelProperty(value = "本次申请金额")
    private BigDecimal paymentApplyMoney;

    @ApiModelProperty(value = "本次发票")
    private String paymentInvoice;

    @ApiModelProperty(value = "本次审批金额")
    private BigDecimal paymentExamineMoney;

    @ApiModelProperty(value = "累计开票")
    private BigDecimal paymentTotalInvoice;

    @ApiModelProperty(value = "付款类别 1：预付款  2：设备采购款 3：工程进度款 4：质保金 5：其他（）")
    private Integer paymentType;

    @ApiModelProperty(value = "付款类别 其他描述")
    private String paymentTypeDescription;

    @ApiModelProperty(value = "申请付款事由")
    private String paymentDescription;

    @ApiModelProperty(value = "付款依据类型  1：合同  2：发票  3：清单  4：其他资料")
    private Integer paymentDataType;

    @ApiModelProperty(value = "付款依据文件附件")
    private String paymentDateFile;

    @ApiModelProperty(value = "单位名称")
    private String paymentCompanyName;

    @ApiModelProperty(value = "银行账号")
    private String paymentBankAccount;

    @ApiModelProperty(value = "开户银行")
    private String paymentBank;

    @ApiModelProperty(value = "审批状态  0：审批中  1：通过   2：驳回   3：撤销")
    private Integer allowStatus;

    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date endTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date examineCreateTime;

    private String processName;

    @ApiModelProperty(value = "审批人用户信息")
    private SmsPaymentExamineUserResp allowUserInfo;

    @ApiModelProperty(value = "审批人id")
    private String detailAllowUserId;

    @ApiModelProperty(value = "审批状态  0：审批中  1：通过   2：驳回   3：撤销")
    private Integer detailAllowStatus;

}
